﻿using System;
using System.Data;
using System.Collections;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

/// <summary>
/// Summary description for Cart
/// </summary>
public class Cart
{
    private Hashtable _table = new Hashtable();
    private double _tong = 0;
    public void Add(int id, string name, double gia)
    {
        // Nếu sản phẩm không có trong giỏ hàng thì thêm hàng vào giỏ
        if (_table[id] == null)
        {
            ShoppingOnlineCart hd = new ShoppingOnlineCart(id, 1, gia);
            _table.Add(id, hd);
            _tong += hd.Tong;
        }

         //Nếu đã có sản phẩm trong giỏ thì cập nhật thêm sản phẩm
        else
        {
            ShoppingOnlineCart hd = (ShoppingOnlineCart)_table[id];
            hd.SoLuong += 1;
            hd.Tong += hd.DonGia;
            _tong += hd.DonGia;
        }
    }
    public void Remove(int id)
    {
        if (_table[id] != null)
        {
            ShoppingOnlineCart row = (ShoppingOnlineCart)_table[id];
            _tong -= row.Tong;
            _table.Remove(id);
        }
    }
    public void Update(string id, int newQty)
    {
        if (_table[id] != null)
        {
            ShoppingOnlineCart row = (ShoppingOnlineCart)_table[id];
            _tong -= row.Tong;
            row.SoLuong = newQty;
            row.Tong = row.SoLuong * row.DonGia;
            _tong += row.Tong;
        }
    }
    public ICollection Table
    {
        get { return _table.Values; }
    }
    public double TotalPrice
    {
        get { return _tong; }
    }
}

public class ShoppingOnlineCart
{
    private Int64 masp;
    private int Soluong;
    private double Dongia;
    private double Tonggia;
    public ShoppingOnlineCart(int _ma, int _luong, double _gia)
    {
        this.masp = _ma;
        this.Soluong = _luong;
        this.Dongia = _gia;
    }
    public Int64 Ma
    {
        set { masp = value; }
        get { return masp; }
    }

    public int SoLuong
    {
        set { Soluong = value; }
        get { return Soluong; }
    }
    public double DonGia
    {
        set { Dongia = value; }
        get { return Dongia; }
    }
    public double Tong
    {
        set { Tonggia = value; }
        get { return (Dongia * Soluong); }
    }

}

